The invention relates generally to the inputs parameters required in performance modeling of complex architectures, and more particularly in determining service demands of individual servers in a network load balanced scenario.
Application performance is one of the key attributes in today's competitive information technology (IT) environment. It is this criterion that makes or breaks the business of various IT service providers. Therefore, it becomes critical for these providers to correctly assess the performance of their application. Accessing performance helps them to compare the performance of their products with that of their competitor's, thereby giving them an opportunity to have an edge over their competitors.
Performance can be evaluated by building predictive performance models that can be used for “What-if” analysis. To build predictive performance models, we require performance parameters viz. the service demands of various devices at various tiers of the application. Traditional methods for building performance models require performance tests to be done using non-clustered environments. This is because in non-clustered environments, the end to end parameters given by performance testing tools can be directly used to calculate service demands.
But, today on many occasions performance tests are conducted using clustered environments due to which the end to end performance parameters given by performance testing tools are not adequate to compute box level service demands.
The methods available today generally use non-clustered environment for performance testing due to which the total throughput given by the load testing tool can be used for service demand computation. The service demands calculated can then be used to build a performance model that can be used for various kinds of “What-if” analysis. In case, clustered environment is used for performance testing the throughput values given by the performance testing tool cannot be used to calculate the box level service demands (i.e. the service demands of the servers present in the cluster).
As mentioned above, if clustered environment is used for performance testing the transaction throughput values given by the performance testing tool cannot be used to calculate the box level service demands. Currently, there is no approach that can obtain throughputs (and hence service demands) on these individual servers of the cluster. Moreover, any performance modeling and simulation exercise requires service demand as an input which makes it further important to have methodologies that can provide service demands in all the possible scenarios.
The existing methods follow a mathematical approach where an assumption is made that the application is scalable which might not be the case in reality. The present inventive method does not require any such assumption for service demand computation of the server machines present in a cluster.
The invention focuses on computing the transaction throughput of each server in a cluster of network load balanced servers by using values from suitable performance counters that have been monitored during performance testing. Thus the inventive method approach neither depends on the routing algorithm of the load balancer nor does it assume application scalability for computing service demands.
Accordingly, a need exists for a method to determine the service demands of individual servers (present in a cluster of servers) given the overall throughput in case of a network load balanced scenario.